1. Technical Field
This invention relates to display generation, and more specifically, to the display of portions of large graphs of interconnected labeled nodes developed by a programmed computer system. The generated displays may include both full and partial, or skeletal, portions of the complex interconnected labeled nodes.
2. Description of the Related Art
Computer systems can store vast amounts of information. Often this information takes the form of complex graphs. For example, in the design of computer or telecommunication systems or networks, a computer can be useful in determining the most efficient design or investigating aspects of a design. However, such systems or networks, if displayed in their entirety on a computer screen, would provide a display where the individual elements or nodes of the system become illegible. Obviously, such an illegible display would not be helpful when examining a small group of nodes. It is essential that selected portions of the system or network be displayed in legible form. This might be done by simply scaling or magnifying the graph. However, simple scaling has serious drawbacks. It will result in large portions of the graph becoming invisible to the viewer. This would only be acceptable to the user where the invisible portions are not of interest. This is often not the case as the nodes and interconnections of interest are frequently not located in close proximity within the graph. Therefore, it is also necessary to be able to select disparate portions of the graph to be legibly displayed.
One way in which this has been done in the past is to simply collapse or truncate the arcs and nodes around selected nodes. Collapsing or truncating nodes in the context of the present invention means that the nodes and possibly, arcs associated with those nodes within the graph, are not displayed on the computer screen. Expanding of nodes is essentially the reverse operation where previously collapsed nodes and arcs are selected for display. This collapsing of nodes enables selected nodes to be displayed legibly while suppressing the display of related information which is not of current interest. One approach that uses this technique is described in U.S. Pat. No. 4,613,946 to E. H. Forman, which describes a process where portions of tree structures are collapsed so that portions of interest are more visible. Other portions of the structure are only skeletally displayed. Forman's techniques work well with normal tree structures having only descending branches, however, they will not work effectively with structures which include cyclic, acyclic or other types of graphs.
A typical problem encountered when displaying large graphs of interconnected labeled nodes is that the graph is too large to be displayed meaningfully within the limited screen space available in the computer system. A graph can, of course, be scaled down to make all of its nodes fit the screen but then the nodes become too small to display their labeling text. Similarly, a graph can be scaled up to make the nodes large enough to display their labeling text. In this case, the interconnections to nodes that do not fit on the screen will be obscured.
U.S. Pat. No. 4,953,106 to Gansner et al. describes techniques for efficiently drawing directed graphs. While the patent is not directed at, nor is it concerned with, displaying only portions of these graphs, it is helpful in providing insight into the technical complexities of such diagrams. Often, there is a need to display only portions of these graphs. The techniques described by Forman could not be used with Gansner et al. because the cyclic interconnection information in the directed graphs would be misinterpreted. The present invention avoids this problem.